package com.syh.jn.scm.domain.supplier.event;

import com.syh.core.ddd.domain.DomainEvent;
import com.syh.jn.scm.domain.supplier.entity.sale.SaleOrder;

public class SaleOrderEvent extends DomainEvent<SaleOrder> {

	//销售订单删除事件
	public static final String SALEORDER_DESTORY = "saleOrderEventDestory";
	public static SaleOrderEvent buildSaleOrderDestory(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_DESTORY;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	//销售订单取消事件
	public static final String SALEORDER_CANCEL = "saleOrderEventCancel";
	public static SaleOrderEvent buildSaleOrderCancel(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_CANCEL;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	//销售订单取消确认事件
	public static final String SALEORDER_CANCEL_CONFIRM = "saleOrderEventCancelConfirm";
	public static SaleOrderEvent buildSaleOrderCancelConfirm(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_CANCEL_CONFIRM;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	//销售单创建事件
	public static final String SALE_ORDER_CREATED = "saleOrderCreatedEvent";
	public static SaleOrderEvent buildSaleOrderCreated(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALE_ORDER_CREATED;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	//销售单确认发货事件
	public static final String SALE_ORDER_DELIVER_GOODS = "saleOrderDeliverGoodsEvent";
	public static SaleOrderEvent buildSaleOrderDeliverGoods(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALE_ORDER_DELIVER_GOODS;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	public static final String SALEORDER_STATE_DESTORY = "saleOrderStateEventDestory";

	public static SaleOrderEvent buildSaleOrderStateDestory(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_STATE_DESTORY;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	public static final String SALEORDER_REMOVE_STATE_DESTORY = "saleOrderRemoveStateEventDestory";

	public static SaleOrderEvent buildSaleOrderRemoveStateDestory(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_REMOVE_STATE_DESTORY;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

	public static final String SALEORDER_CONFIRM_RECEIPT_DESTORY = "saleOrderConfirmReceiptDestory";

	public static SaleOrderEvent buildSaleOrderConfirmReceiptDestory(Object[] values){
		SaleOrderEvent saleOrderEvent = new SaleOrderEvent();
		saleOrderEvent.eventName = SALEORDER_CONFIRM_RECEIPT_DESTORY;
		saleOrderEvent.values = values;
		return saleOrderEvent;
	}

}
